/**********************************************************************

  Audacity: A Digital Audio Editor

  Keyboard.h

  Dominic Mazzoni
  Brian Gunlogson

**********************************************************************/

#ifndef __AUDACITY_KEYBOARD__
#define __AUDACITY_KEYBOARD__

#include "Identifier.h"

class wxKeyEvent;

struct NormalizedKeyStringTag;
// Case insensitive comparisons
using NormalizedKeyStringBase = TaggedIdentifier<NormalizedKeyStringTag, false>;

struct MENUS_API NormalizedKeyString : NormalizedKeyStringBase
{
    NormalizedKeyString() = default;
    explicit NormalizedKeyString(const wxString& key);

    wxString Display(bool usesSpecialChars = false) const;
};

namespace std {
template<> struct hash< NormalizedKeyString >: hash< NormalizedKeyStringBase > {};
}

#endif
